x

Solving the problem of naming free operating systems

There has been a naming controversy with the free operating systems, because many of them are built using the Linux kernel, but the rest of the system is usually part of the GNU project. This is not true for all operating systems, such as the BSDs, Android, etc. which are independent of the GNU project. Since they are based on the Linux kernel, many people got used to calling them Linux distributions. Richard Stallman, the founder of the FSF and GNU project however emphasizes that they should be called GNU/Linux distributions to credit the importance of the GNU project in the realization of those operating systems. This however isn't appealing to most consumers as they prefer a simple name, and think that Richard Stallman is being too arrogant with this. It has also led to many people hating GNU itself as a project, although it was one of the biggest projects that helped to improve the state of free software.

It is true that the Linux kernel by itself is just a kernel, and not an OS, but it can still be used with other userlands aside from the GNU project to form an OS. To those who are unfamiliar, an OS consists of both the "kernel space", which is the heart of the OS, and the "user space", or "userland", which is the rest of the OS. Android is one prominent example, and it does not even call itself Android/Linux, and Linus Torvalds, the founder of Linux, being a pragmatist doesn't care about it. There are other projects like Debian GNU/kFreeBSD that uses the Debian distribution of GNU userspace with the kernel of FreeBSD rather than Linux as with the original Debian project. Chimera Linux is another example that uses the FreeBSD userland with the Linux kernel, and it just calls itself Chimera Linux.

For the sake of pragmatism, one can either call these systems by entirely different names - for example, GNU/Linux could just be called Swash. But this differentiates them from other systems like GNU/kFreeBSD.

Another problem is that, some people argue that if GNU is to be given importance, we should have to give importance to many other projects that make up a Linux distribution, like GNU/Linux/systemd/X/KDE/.. and so on. But speaking with a sense of pragmatism and idealism, GNU deserves a special mention in such distributions because the GNU project is what makes such systems be an operating system at the lowest level and not just the Linux kernel. So the name of the operating system would have to include GNU and Linux. For systems that don't use the GNU userland, Stallman hasn't given any rules, and projects like Android and it's derivatives just call themselves whatever they feel like. Alpine Linux is an example that retains the name Linux.

To standardize this, we can take a look at a system I mentioned earlier: Debian GNU/kFreeBSD. The "k" in kFreeBSD stands for kernel, and since it uses the GNU system, it uses the GNU/kFreeBSD naming scheme. Looking at this, I think we can also extend this to operating systems that use a different userland, but with the Linux kernel, by giving a "u" prefix to specify the userland. Of course, the userland (or even the kernel) can comprise of other utilities, but in such cases, we can use our own senses to assign a name that includes the most important components and leaves the rest in a documentation. With this, we can also call full fledged operating system projects by their official name alone, and specify the 'ethnicity' of the OS in its description.

So we can adopt a naming scheme like u(Userland)/k(Kernel). For examples,

  • uAndroid/kLinux - Android, which is an OS now developed by Google LLC that uses the Linux kernel
  • uFreeBSD/kLinux - Chimera Linux is an example of an OS that uses the FreeBSD userland with Linux
  • uGNU/kFreeBSD - A GNU system with the FreeBSD kernel, for example "Debian GNU/kFreeBSD"
  • uGNU/kGNU - A complete GNU system with the GNU Hurd kernel
  • u(MacOS/Apple Darwin)/k(Apple XNU) - MacOS is a properietary OS based on the open source Apple Darwin OS, which runs on the Apple XNU kernel
  • uFreeBSD/kFreeBSD - The FreeBSD Operating System
  • u(Windows 7)/k(Windows NT) - Microsoft Windows 7
  • u(Windows 98)/k(Windows 9x) - Microsoft Windows 98

With this, systems like Ubuntu can, for example can call itself just Ubuntu, and describe itself as a uGNU/kLinux system which is a direct derivative of Debian. Debian projects like Debian GNU/kFreeBSD however will need to address themselves by their full names to avoid confusion with the main Debian project, which is a uGNU/kLinux distribution.

Of course, I won't be using this parlance right away because it will look strange if I'm the only one using it. I'm just presenting this as a way to solve the nomenclature problem.

Left-click: follow link, Right-click: select node, Scroll: zoom
x